﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using System.Data.OleDb;
using Inventario_HardSoft.Controlador;

namespace Inventario_HardSoft.Presentacion
{
    public partial class Registro_Multiples_Usuarios : Form
    {
        Ctrl_Reg_MultUsuarios controlador;
        
        public Registro_Multiples_Usuarios()
        {
            InitializeComponent();

            controlador = new Ctrl_Reg_MultUsuarios();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openDialog = new OpenFileDialog();
            openDialog.Filter = "Documento Excel 2003 (.xls)|*.xls|Documento Excel 2007 y posterior (.xlsx)|*.xlsx";
            openDialog.FilterIndex = 1;

            if (openDialog.ShowDialog(this) == DialogResult.OK)
            {
                txt_Ruta_Archivo.Text = openDialog.FileName;

                controlador.getTablefromExcel(grib_Datos,txt_Ruta_Archivo.Text);
            }
        }

        private void btn_Importar_Click(object sender, EventArgs e)
        {
            if (grib_Datos.Rows.Count > 0)
            {
                DataTable dt = this.getDataTable(grib_Datos);

                DialogResult  result = controlador.regUsuariosxEquipoxPrograma(dt);

                if (result == DialogResult.OK)
                {
                    MessageBox.Show("Los Usuarios se registraron correctamente", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Error al registrar usuarios. Contacte al administrador del sistema", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                }

                this.Close();
            }
        }

        private DataTable getDataTable(DataGridView grib_Datos)
        {
            DataTable dt = new DataTable();
            
            int i = 0;
            foreach (DataGridViewColumn dgcolumn in grib_Datos.Columns)
            {
                dt.Columns.Add(new DataColumn(i.ToString(),typeof(string)));
                i++;
            }

            int j = 0;

            foreach (DataGridViewRow drow in grib_Datos.Rows)
            {
                DataRow dr = dt.NewRow();
                dr[j] = drow.Cells[j].Value;
                j++;

                dt.Rows.Add(dr);
            }

            return dt;
        }
    }
}
